$ git help --all

This is accessible from the command line and can also be accessed here W3schools Git Help. Cheers!

We will do an example and then itemize each command with it's definition after.

$ git help --all
See 'git help ' to read about a specific subcommand

Main Porcelain Commands
   add                  Add file contents to the index
   am                   Apply a series of patches from a mailbox
   archive              Create an archive of files from a named tree
   bisect               Use binary search to find the commit that introduced a bug
   branch               List, create, or delete branches
   bundle               Move objects and refs by archive
   checkout             Switch branches or restore working tree files
   cherry-pick          Apply the changes introduced by some existing commits
   citool               Graphical alternative to git-commit
   clean                Remove untracked files from the working tree
   clone                Clone a repository into a new directory
   commit               Record changes to the repository
   describe             Give an object a human readable name based on an available ref
   diff                 Show changes between commits, commit and working tree, etc
   fetch                Download objects and refs from another repository
   format-patch         Prepare patches for e-mail submission
   gc                   Cleanup unnecessary files and optimize the local repository
   gitk                 The Git repository browser
   grep                 Print lines matching a pattern
   gui                  A portable graphical interface to Git
   init                 Create an empty Git repository or reinitialize an existing one
   log                  Show commit logs
   maintenance          Run tasks to optimize Git repository data
   merge                Join two or more development histories together
   mv                   Move or rename a file, a directory, or a symlink
   notes                Add or inspect object notes
   pull                 Fetch from and integrate with another repository or a local branch
   push                 Update remote refs along with associated objects
   range-diff           Compare two commit ranges (e.g. two versions of a branch)
   rebase               Reapply commits on top of another base tip
   reset                Reset current HEAD to the specified state
   restore              Restore working tree files
   revert               Revert some existing commits
   rm                   Remove files from the working tree and from the index
   shortlog             Summarize 'git log' output
   show                 Show various types of objects
   sparse-checkout      Initialize and modify the sparse-checkout
   stash                Stash the changes in a dirty working directory away
   status               Show the working tree status
   submodule            Initialize, update or inspect submodules
   switch               Switch branches
   tag                  Create, list, delete or verify a tag object signed with GPG
   worktree             Manage multiple working trees

Ancillary Commands / Manipulators
   config               Get and set repository or global options
   fast-export          Git data exporter
   fast-import          Backend for fast Git data importers
   filter-branch        Rewrite branches
   mergetool            Run merge conflict resolution tools to resolve merge conflicts
   pack-refs            Pack heads and tags for efficient repository access
   prune                Prune all unreachable objects from the object database
   reflog               Manage reflog information
   remote               Manage set of tracked repositories
   repack               Pack unpacked objects in a repository
   replace              Create, list, delete refs to replace objects

Ancillary Commands / Interrogators
   annotate             Annotate file lines with commit information
   blame                Show what revision and author last modified each line of a file
   bugreport            Collect information for user to file a bug report
   count-objects        Count unpacked number of objects and their disk consumption
   difftool             Show changes using common diff tools
   fsck                 Verifies the connectivity and validity of the objects in the database
   gitweb               Git web interface (web frontend to Git repositories)
   help                 Display help information about Git
   instaweb             Instantly browse your working repository in gitweb
   merge-tree           Show three-way merge without touching index
   rerere               Reuse recorded resolution of conflicted merges
   show-branch          Show branches and their commits
   verify-commit        Check the GPG signature of commits
   verify-tag           Check the GPG signature of tags
   whatchanged          Show logs with difference each commit introduces

Interacting with Others
   archimport           Import a GNU Arch repository into Git
   cvsexportcommit      Export a single commit to a CVS checkout
   cvsimport            Salvage your data out of another SCM people love to hate
   cvsserver            A CVS server emulator for Git
   imap-send            Send a collection of patches from stdin to an IMAP folder
   p4                   Import from and submit to Perforce repositories
   quiltimport          Applies a quilt patchset onto the current branch
   request-pull         Generates a summary of pending changes
   send-email           Send a collection of patches as emails
   svn                  Bidirectional operation between a Subversion repository and Git

Low-level Commands / Manipulators
   apply                Apply a patch to files and/or to the index
   checkout-index       Copy files from the index to the working tree
   commit-graph         Write and verify Git commit-graph files
   commit-tree          Create a new commit object
   hash-object          Compute object ID and optionally creates a blob from a file
   index-pack           Build pack index file for an existing packed archive
   merge-file           Run a three-way file merge
   merge-index          Run a merge for files needing merging
   mktag                Creates a tag object
   mktree               Build a tree-object from ls-tree formatted text
   multi-pack-index     Write and verify multi-pack-indexes
   pack-objects         Create a packed archive of objects
   prune-packed         Remove extra objects that are already in pack files
   read-tree            Reads tree information into the index
   symbolic-ref         Read, modify and delete symbolic refs
   unpack-objects       Unpack objects from a packed archive
   update-index         Register file contents in the working tree to the index
   update-ref           Update the object name stored in a ref safely
   write-tree           Create a tree object from the current index

Low-level Commands / Interrogators
   cat-file             Provide content or type and size information for repository objects
   cherry               Find commits yet to be applied to upstream
   diff-files           Compares files in the working tree and the index
   diff-index           Compare a tree to the working tree or index
   diff-tree            Compares the content and mode of blobs found via two tree objects
   for-each-ref         Output information on each ref
   for-each-repo        Run a Git command on a list of repositories
   get-tar-commit-id    Extract commit ID from an archive created using git-archive
   ls-files             Show information about files in the index and the working tree
   ls-remote            List references in a remote repository
   ls-tree              List the contents of a tree object
   merge-base           Find as good common ancestors as possible for a merge
   name-rev             Find symbolic names for given revs
   pack-redundant       Find redundant pack files
   rev-list             Lists commit objects in reverse chronological order
   rev-parse            Pick out and massage parameters
   show-index           Show packed archive index
   show-ref             List references in a local repository
   unpack-file          Creates a temporary file with a blob's contents
   var                  Show a Git logical variable
   verify-pack          Validate packed Git archive files

Low-level Commands / Syncing Repositories
   daemon               A really simple server for Git repositories
   fetch-pack           Receive missing objects from another repository
   http-backend         Server side implementation of Git over HTTP
   send-pack            Push objects over Git protocol to another repository
   update-server-info   Update auxiliary info file to help dumb servers

Low-level Commands / Internal Helpers
   check-attr           Display gitattributes information
   check-ignore         Debug gitignore / exclude files
   check-mailmap        Show canonical names and email addresses of contacts
   check-ref-format     Ensures that a reference name is well formed
   column               Display data in columns
   credential           Retrieve and store user credentials
   credential-cache     Helper to temporarily store passwords in memory
   credential-store     Helper to store credentials on disk
   fmt-merge-msg        Produce a merge commit message
   interpret-trailers   Add or parse structured information in commit messages
   mailinfo             Extracts patch and authorship from a single e-mail message
   mailsplit            Simple UNIX mbox splitter program
   merge-one-file       The standard helper program to use with git-merge-index
   patch-id             Compute unique ID for a patch
   sh-i18n              Git's i18n setup code for shell scripts
   sh-setup             Common Git shell script setup code
   stripspace           Remove unnecessary whitespace

External commands
   askyesno
   credential-helper-selector
   flow
   lfs 
  

Ok now for an example. Like it says you can use 'git help <command>' in a terminal to read the manual about a specific subcommand. It includes the flags but is quite wordy. You can also quickly look at flags by doing 'git <command> -help' Let's search through the flags for git commit.

git commit -help
usage: git commit [] [--] ...

    -q, --quiet           suppress summary after successful commit
    -v, --verbose         show diff in commit message template

Commit message options
    -F, --file      read message from file
    --author      override author for commit
    --date          override date for commit
    -m, --message 
                          commit message
    -c, --reedit-message 
                          reuse and edit message from specified commit
    -C, --reuse-message 
                          reuse message from specified commit
    --fixup       use autosquash formatted message to fixup specified commit
    --squash      use autosquash formatted message to squash specified commit
    --reset-author        the commit is authored by me now (used with -C/-c/--amend)
    -s, --signoff         add a Signed-off-by trailer
    -t, --template 
                          use specified template file
    -e, --edit            force edit of commit
    --cleanup       how to strip spaces and #comments from message
    --status              include status in commit message template
    -S, --gpg-sign[=]
                          GPG sign commit

Commit contents options
    -a, --all             commit all changed files
    -i, --include         add specified files to index for commit
    --interactive         interactively add files
    -p, --patch           interactively add changes
    -o, --only            commit only specified files
    -n, --no-verify       bypass pre-commit and commit-msg hooks
    --dry-run             show what would be committed
    --short               show status concisely
    --branch              show branch information
    --ahead-behind        compute full ahead/behind values
    --porcelain           machine-readable output
    --long                show status in long format (default)
    -z, --null            terminate entries with NUL
    --amend               amend previous commit
    --no-post-rewrite     bypass post-rewrite hook
    -u, --untracked-files[=]
                          show untracked files, optional modes: all, normal, no. (Default: all)
    --pathspec-from-file 
                          read pathspec from file
    --pathspec-file-nul   with --pathspec-from-file, pathspec elements are separated with NUL character
    

You can really learn a lot about git by going through the commands and manuals. Now that you know how to search for help, let's get on to the definitions of each command.

Main Porcelain Commands

These are the most commonly used Git commands that you will interact with on a daily basis:

add

Add file contents to the index (staging area). This command is used to add changes in the working directory to the staging area.

git add <file>

am

Apply a series of patches from a mailbox. This command is used to apply patches created by git format-patch.

git am <patch-file>

archive

Create an archive of files from a named tree. This command is used to create a tar or zip archive of the files in the repository.

git archive --format=tar --output=archive.tar HEAD

bisect

Use binary search to find the commit that introduced a bug. This command helps you find the commit that introduced a bug by performing a binary search.

git bisect start
git bisect bad
git bisect good <commit>

branch

List, create, or delete branches. This command is used to manage branches in your repository.

git branch
git branch <branch-name>
git branch -d <branch-name>

bundle

Move objects and refs by archive. This command is used to create a single file containing all the objects and references in a repository.

git bundle create <file> <branch>

checkout

Switch branches or restore working tree files. This command is used to switch branches or restore files in the working directory.

git checkout <branch-name>
git checkout -- <file>

cherry-pick

Apply the changes introduced by some existing commits. This command is used to apply changes from a specific commit to the current branch.

git cherry-pick <commit>

citool

Graphical alternative to git-commit. This command opens a graphical interface for committing changes.

git citool

clean

Remove untracked files from the working tree. This command is used to remove untracked files and directories from the working directory.

git clean -f
git clean -fd

clone

Clone a repository into a new directory. This command is used to create a copy of an existing repository.

git clone <repository-url>

commit

Record changes to the repository. This command is used to save changes from the staging area to the repository.

git commit -m "Commit message"

describe

Give an object a human-readable name based on an available ref. This command is used to find the most recent tag that is reachable from a commit.

git describe --tags

diff

Show changes between commits, commit and working tree, etc. This command is used to show the differences between commits, branches, or files.

git diff
git diff <commit>
git diff <branch>

fetch

Download objects and refs from another repository. This command is used to download changes from a remote repository.

git fetch <remote>

format-patch

Prepare patches for e-mail submission. This command is used to create patch files from commits.

git format-patch <commit-range>

gc

Cleanup unnecessary files and optimize the local repository. This command is used to clean up and optimize the repository.

git gc

gitk

The Git repository browser. This command opens a graphical interface to browse the repository history.

gitk

grep

Print lines matching a pattern. This command is used to search for text patterns in the repository files.

git grep <pattern>

gui

A portable graphical interface to Git. This command opens a graphical interface for Git operations.

git gui

init

Create an empty Git repository or reinitialize an existing one. This command is used to create a new Git repository.

git init

log

Show commit logs. This command is used to display the commit history.

git log

maintenance

Run tasks to optimize Git repository data. This command is used to perform maintenance tasks on the repository.

git maintenance run

merge

Join two or more development histories together. This command is used to merge branches.

git merge <branch>

mv

Move or rename a file, a directory, or a symlink. This command is used to move or rename files and directories.

git mv <old-path> <new-path>

notes

Add or inspect object notes. This command is used to add or view notes attached to objects.

git notes add
git notes show

pull

Fetch from and integrate with another repository or a local branch. This command is used to fetch and merge changes from a remote repository.

git pull <remote> <branch>

push

Update remote refs along with associated objects. This command is used to upload local changes to a remote repository.

git push <remote> <branch>

range-diff

Compare two commit ranges (e.g., two versions of a branch). This command is used to compare two ranges of commits.

git range-diff <range1> <range2>

rebase

Reapply commits on top of another base tip. This command is used to move or combine a sequence of commits to a new base commit.

git rebase <base-branch>

reset

Reset current HEAD to the specified state. This command is used to undo changes by resetting the current branch to a previous state.

git reset <commit>

restore

Restore working tree files. This command is used to restore files in the working directory to their state in the index or a commit.

git restore <file>

revert

Revert some existing commits. This command is used to create a new commit that undoes the changes made by previous commits.

git revert <commit>

rm

Remove files from the working tree and from the index. This command is used to remove files from the working directory and the index.

git rm <file>

shortlog

Summarize 'git log' output. This command is used to summarize the commit history.

git shortlog

show

Show various types of objects. This command is used to display information about objects in the repository.

git show <object>

sparse-checkout

Initialize and modify the sparse-checkout. This command is used to control which files are checked out in a sparse-checkout.

git sparse-checkout init
git sparse-checkout set <file>

stash

Stash the changes in a dirty working directory away. This command is used to save changes in the working directory and index temporarily.

git stash
git stash pop

status

Show the working tree status. This command is used to display the state of the working directory and the staging area.

git status

submodule

Initialize, update or inspect submodules. This command is used to manage submodules in a repository.

git submodule init
git submodule update

switch

Switch branches. This command is used to switch branches in the working directory.

git switch <branch>

tag

Create, list, delete or verify a tag object signed with GPG. This command is used to manage tags in a repository.

git tag
git tag -a <tag-name> -m "Message"
git tag -d <tag-name>

worktree

Manage multiple working trees. This command is used to manage multiple working trees attached to the same repository.

git worktree add <path> <branch>

Ancillary Commands / Manipulators

These commands are used to manipulate the repository in various ways:

config

Get and set repository or global options. This command is used to configure Git settings.

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

fast-export

Git data exporter. This command is used to export Git data to a fast-import stream.

git fast-export <commit-range>

fast-import

Backend for fast Git data importers. This command is used to import data into Git from a fast-import stream.

git fast-import <data-file>

filter-branch

Rewrite branches. This command is used to rewrite branches by applying filters to each commit.

git filter-branch --env-filter 'GIT_AUTHOR_NAME="New Author"; GIT_AUTHOR_EMAIL="new.email@example.com"; GIT_COMMITTER_NAME="New Author"; GIT_COMMITTER_EMAIL="new.email@example.com";' HEAD

mergetool

Run merge conflict resolution tools to resolve merge conflicts. This command is used to run a merge tool to resolve conflicts.

git mergetool

pack-refs

Pack heads and tags for efficient repository access. This command is used to pack references in a repository.

git pack-refs --all

prune

Prune all unreachable objects from the object database. This command is used to remove unreachable objects from the repository.

git prune

reflog

Manage reflog information. This command is used to manage the reference logs.

git reflog

remote

Manage set of tracked repositories. This command is used to manage remote repositories.

git remote add <name> <url>
git remote remove <name>

repack

Pack unpacked objects in a repository. This command is used to pack unpacked objects in the repository.

git repack -a -d -l

replace

Create, list, delete refs to replace objects. This command is used to create, list, or delete replacement refs.

git replace <object> <replacement>

Ancillary Commands / Interrogators

These commands are used to interrogate the repository and gather information:

annotate

Annotate file lines with commit information. This command is used to show which commit last modified each line of a file.

git annotate <file>

blame

Show what revision and author last modified each line of a file. This command is used to show which commit and author last modified each line of a file.

git blame <file>

bugreport

Collect information for user to file a bug report. This command is used to collect information for filing a bug report.

git bugreport

count-objects

Count unpacked number of objects and their disk consumption. This command is used to count the number of unpacked objects and their disk usage.

git count-objects

difftool

Show changes using common diff tools. This command is used to show changes using an external diff tool.

git difftool

fsck

Verifies the connectivity and validity of the objects in the database. This command is used to check the integrity of the repository.

git fsck

gitweb

Git web interface (web frontend to Git repositories). This command is used to set up a web interface for browsing the repository.

gitweb

help

Display help information about Git. This command is used to display help information about Git commands.

git help <command>

instaweb

Instantly browse your working repository in gitweb. This command is used to start a web server to browse the repository.

git instaweb

merge-tree

Show three-way merge without touching index. This command is used to show the result of a three-way merge without affecting the index.

git merge-tree <base> <branch1> <branch2>

rerere

Reuse recorded resolution of conflicted merges. This command is used to reuse recorded resolutions of merge conflicts.

git rerere

show-branch

Show branches and their commits. This command is used to show branches and their commits.

git show-branch

verify-commit

Check the GPG signature of commits. This command is used to verify the GPG signature of commits.

git verify-commit <commit>

verify-tag

Check the GPG signature of tags. This command is used to verify the GPG signature of tags.

git verify-tag <tag>

whatchanged

Show logs with difference each commit introduces. This command is used to show logs with the differences introduced by each commit.

git whatchanged

Interacting with Others

These commands are used to interact with other repositories and systems:

archimport

Import a GNU Arch repository into Git. This command is used to import a GNU Arch repository into Git.

git archimport <repository>

cvsexportcommit

Export a single commit to a CVS checkout. This command is used to export a single commit to a CVS checkout.

git cvsexportcommit <commit>

cvsimport

This command is used to import data from a CVS repository into Git.

git cvsimport -d :pserver:anonymous@cvs.example.com:/cvsroot co -r HEAD

cvsserver

A CVS server emulator for Git. This command is used to provide a CVS server interface for a Git repository.

git cvsserver

imap-send

Send a collection of patches from stdin to an IMAP folder. This command is used to send patches via IMAP.

git imap-send

p4

Import from and submit to Perforce repositories. This command is used to interact with Perforce repositories.

git p4 clone //depot/path/project

quiltimport

Applies a quilt patchset onto the current branch. This command is used to apply a series of patches from a quilt patchset.

git quiltimport <patch-directory>

request-pull

Generates a summary of pending changes. This command is used to generate a summary of changes to be sent to another repository.

git request-pull <start> <url> <end>

send-email

Send a collection of patches as emails. This command is used to send patches via email.

git send-email --to=<recipient> <patches>

svn

Bidirectional operation between a Subversion repository and Git. This command is used to interact with Subversion repositories.

git svn clone <svn-repo-url>

Low-level Commands / Manipulators

These commands are used to manipulate the repository at a low level:

apply

Apply a patch to files and/or to the index. This command is used to apply a patch file to the working directory or index.

git apply <patch-file>

checkout-index

Copy files from the index to the working tree. This command is used to copy files from the index to the working directory.

git checkout-index --all

commit-graph

Write and verify Git commit-graph files. This command is used to create and verify commit-graph files.

git commit-graph write --reachable

commit-tree

Create a new commit object. This command is used to create a new commit object from a tree object.

git commit-tree <tree> -m "Commit message"

hash-object

Compute object ID and optionally creates a blob from a file. This command is used to compute the object ID for a file and optionally create a blob object.

git hash-object -w <file>

index-pack

Build pack index file for an existing packed archive. This command is used to create an index file for a pack file.

git index-pack <pack-file>

merge-file

Run a three-way file merge. This command is used to perform a three-way merge of files.

git merge-file <file1> <base-file> <file2>

merge-index

Run a merge for files needing merging. This command is used to merge files that need merging.

git merge-index <merge-program> <file-list>

mktag

Creates a tag object. This command is used to create a tag object.

git mktag <tag-file>

mktree

Build a tree-object from ls-tree formatted text. This command is used to create a tree object from ls-tree formatted text.

git mktree <tree-file>

multi-pack-index

Write and verify multi-pack-indexes. This command is used to create and verify multi-pack-indexes.

git multi-pack-index write

pack-objects

Create a packed archive of objects. This command is used to create a pack file containing objects.

git pack-objects <pack-file>

prune-packed

Remove extra objects that are already in pack files. This command is used to remove objects that are already packed.

git prune-packed

read-tree

Reads tree information into the index. This command is used to read tree objects into the index.

git read-tree <tree>

symbolic-ref

Read, modify and delete symbolic refs. This command is used to manage symbolic refs.

git symbolic-ref <ref> <target>

unpack-objects

Unpack objects from a packed archive. This command is used to unpack objects from a pack file.

git unpack-objects <pack-file>

update-index

Register file contents in the working tree to the index. This command is used to update the index with the contents of the working directory.

git update-index --add <file>

update-ref

Update the object name stored in a ref safely. This command is used to update the reference to an object.

git update-ref <ref> <object>

write-tree

Create a tree object from the current index. This command is used to create a tree object from the index.

git write-tree

Low-level Commands / Interrogators

These commands are used to gather information from the repository:

cat-file

Provide content or type and size information for repository objects. This command is used to display information about objects in the repository.

git cat-file -p <object>

cherry

Find commits yet to be applied to upstream. This command is used to find commits that have not been applied to the upstream branch.

git cherry <upstream> <branch>

diff-files

Compares files in the working tree and the index. This command is used to compare the working directory with the index.

git diff-files

diff-index

Compare a tree to the working tree or index. This command is used to compare a tree object with the working directory or index.

git diff-index <tree>

diff-tree

Compares the content and mode of blobs found via two tree objects. This command is used to compare the contents of two tree objects.

git diff-tree <tree1> <tree2>

for-each-ref

Output information on each ref. This command is used to display information about each reference in the repository.

git for-each-ref

for-each-repo

Run a Git command on a list of repositories. This command is used to run a Git command on multiple repositories.

git for-each-repo <command>

get-tar-commit-id

Extract commit ID from an archive created using git-archive. This command is used to extract the commit ID from a tar archive.

git get-tar-commit-id <archive>

ls-files

Show information about files in the index and the working tree. This command is used to display information about files in the index and working directory.

git ls-files

ls-remote

List references in a remote repository. This command is used to display references in a remote repository.

git ls-remote <remote>

ls-tree

List the contents of a tree object. This command is used to display the contents of a tree object.

git ls-tree <tree>

merge-base

Find as good common ancestors as possible for a merge. This command is used to find common ancestors for a merge.

git merge-base <commit1> <commit2>

name-rev

Find symbolic names for given revs. This command is used to find symbolic names for revisions.

git name-rev <commit>

pack-redundant

Find redundant pack files. This command is used to find redundant pack files in the repository.

git pack-redundant <pack-files>

rev-list

Lists commit objects in reverse chronological order. This command is used to list commit objects in reverse chronological order.

git rev-list <commit-range>

rev-parse

Pick out and massage parameters. This command is used to parse revision parameters.

git rev-parse <revision>

show-index

Show packed archive index. This command is used to display the index of a pack file.

git show-index <pack-file>

show-ref

List references in a local repository. This command is used to display references in a local repository.

git show-ref

unpack-file

Creates a temporary file with a blob's contents. This command is used to create a temporary file with the contents of a blob object.

git unpack-file <blob>

var

Show a Git logical variable. This command is used to display the value of a Git logical variable.

git var <variable>

verify-pack

Validate packed Git archive files. This command is used to verify the integrity of pack files.

git verify-pack <pack-file>

Low-level Commands / Syncing Repositories

These commands are used to synchronize repositories:

daemon

A really simple server for Git repositories. This command is used to start a simple server for Git repositories.

git daemon --reuseaddr --base-path=/path/to/repo /path/to/repo

fetch-pack

Receive missing objects from another repository. This command is used to fetch missing objects from another repository.

git fetch-pack <repository>

http-backend

Server side implementation of Git over HTTP. This command is used to provide a server-side implementation of Git over HTTP.

git http-backend

send-pack

Push objects over Git protocol to another repository. This command is used to push objects to another repository.

git send-pack <repository>

update-server-info

Update auxiliary info file to help dumb servers. This command is used to update auxiliary information files for dumb servers.

git update-server-info

Low-level Commands / Internal Helpers

These commands are used internally by Git and are not typically used directly by users:

check-attr

Display gitattributes information. This command is used to display information about gitattributes.

git check-attr <attribute> -- <file>

check-ignore

Debug gitignore / exclude files. This command is used to debug gitignore and exclude files.

git check-ignore -v <file>

check-mailmap

Show canonical names and email addresses of contacts. This command is used to display canonical names and email addresses from the mailmap.

git check-mailmap <contact>

check-ref-format

Ensures that a reference name is well formed. This command is used to check if a reference name is well-formed.

git check-ref-format <refname>

column

Display data in columns. This command is used to format output into columns.

git column <options>

credential

Retrieve and store user credentials. This command is used to manage user credentials.

git credential fill
git credential approve
git credential reject

credential-cache

Helper to temporarily store passwords in memory. This command is used to cache credentials in memory.

git credential-cache <options>

credential-store

Helper to store credentials on disk. This command is used to store credentials on disk.

git credential-store <options>

fmt-merge-msg

Produce a merge commit message. This command is used to format a merge commit message.

git fmt-merge-msg <options>

interpret-trailers

Add or parse structured information in commit messages. This command is used to add or parse trailers in commit messages.

git interpret-trailers <options>

mailinfo

Extracts patch and authorship from a single e-mail message. This command is used to extract patch information from an email message.

git mailinfo <options>

mailsplit

Simple UNIX mbox splitter program. This command is used to split an mbox file into individual messages.

git mailsplit <options>

merge-one-file

The standard helper program to use with git-merge-index. This command is used as a helper for git-merge-index.

git merge-one-file <options>

patch-id

Compute unique ID for a patch. This command is used to compute a unique ID for a patch.

git patch-id <options>

sh-i18n

Git's i18n setup code for shell scripts. This command is used for internationalization setup in shell scripts.

git sh-i18n <options>

sh-setup

Common Git shell script setup code. This command is used for common setup in Git shell scripts.

git sh-setup <options>

stripspace

Remove unnecessary whitespace. This command is used to remove unnecessary whitespace from input.

git stripspace <options>

External commands

These are external commands that can be used with Git:

askyesno

Prompt the user for a yes/no answer. This command is used to prompt the user for a yes/no answer.

git askyesno <prompt>

credential-helper-selector

Select a credential helper. This command is used to select a credential helper.

git credential-helper-selector <options>
cvsimport

Salvage your data out of another SCM people love to hate. This command is used to import data from a CVS repository into Git.

git cvsimport -d :pserver:anonymous@cvs.example.com:/cvsroot co -r HEAD

cvsserver

A CVS server emulator for Git. This command is used to provide a CVS server interface for a Git repository.

git cvsserver

imap-send

Send a collection of patches from stdin to an IMAP folder. This command is used to send patches via IMAP.

git imap-send

p4

Import from and submit to Perforce repositories. This command is used to interact with Perforce repositories.

git p4 clone //depot/path/project

quiltimport

Applies a quilt patchset onto the current branch. This command is used to apply a series of patches from a quilt patchset.

git quiltimport <patch-directory>

request-pull

Generates a summary of pending changes. This command is used to generate a summary of changes to be sent to another repository.

git request-pull <start> <url> <end>

send-email

Send a collection of patches as emails. This command is used to send patches via email.

git send-email --to=<recipient> <patches>

svn

Bidirectional operation between a Subversion repository and Git. This command is used to interact with Subversion repositories.

git svn clone <svn-repo-url>

Low-level Commands / Manipulators

These commands are used to manipulate the repository at a low level:

apply

Apply a patch to files and/or to the index. This command is used to apply a patch file to the working directory or index.

git apply <patch-file>

checkout-index

Copy files from the index to the working tree. This command is used to copy files from the index to the working directory.

git checkout-index --all

commit-graph

Write and verify Git commit-graph files. This command is used to create and verify commit-graph files.

git commit-graph write --reachable

commit-tree

Create a new commit object. This command is used to create a new commit object from a tree object.

git commit-tree <tree> -m "Commit message"

hash-object

Compute object ID and optionally creates a blob from a file. This command is used to compute the object ID for a file and optionally create a blob object.

git hash-object -w <file>

index-pack

Build pack index file for an existing packed archive. This command is used to create an index file for a pack file.

git index-pack <pack-file>

merge-file

Run a three-way file merge. This command is used to perform a three-way merge of files.

git merge-file <file1> <base-file> <file2>

merge-index

Run a merge for files needing merging. This command is used to merge files that need merging.

git merge-index <merge-program> <file-list>

mktag

Creates a tag object. This command is used to create a tag object.

git mktag <tag-file>

mktree

Build a tree-object from ls-tree formatted text. This command is used to create a tree object from ls-tree formatted text.

git mktree <tree-file>

multi-pack-index

Write and verify multi-pack-indexes. This command is used to create and verify multi-pack-indexes.

git multi-pack-index write

pack-objects

Create a packed archive of objects. This command is used to create a pack file containing objects.

git pack-objects <pack-file>

prune-packed

Remove extra objects that are already in pack files. This command is used to remove objects that are already packed.

git prune-packed

read-tree

Reads tree information into the index. This command is used to read tree objects into the index.

git read-tree <tree>

symbolic-ref

Read, modify and delete symbolic refs. This command is used to manage symbolic refs.

git symbolic-ref <ref> <target>

unpack-objects

Unpack objects from a packed archive. This command is used to unpack objects from a pack file.

git unpack-objects <pack-file>

update-index

Register file contents in the working tree to the index. This command is used to update the index with the contents of the working directory.

git update-index --add <file>

update-ref

Update the object name stored in a ref safely. This command is used to update the reference to an object.

git update-ref <ref> <object>

write-tree

Create a tree object from the current index. This command is used to create a tree object from the index.

git write-tree

Low-level Commands / Interrogators

These commands are used to gather information from the repository:

cat-file

Provide content or type and size information for repository objects. This command is used to display information about objects in the repository.

git cat-file -p <object>

cherry

Find commits yet to be applied to upstream. This command is used to find commits that have not been applied to the upstream branch.

git cherry <upstream> <branch>

diff-files

Compares files in the working tree and the index. This command is used to compare the working directory with the index.

git diff-files

diff-index

Compare a tree to the working tree or index. This command is used to compare a tree object with the working directory or index.

git diff-index <tree>

diff-tree

Compares the content and mode of blobs found via two tree objects. This command is used to compare the contents of two tree objects.

git diff-tree <tree1> <tree2>

for-each-ref

Output information on each ref. This command is used to display information about each reference in the repository.

git for-each-ref

for-each-repo

Run a Git command on a list of repositories. This command is used to run a Git command on multiple repositories.

git for-each-repo <command>

get-tar-commit-id

Extract commit ID from an archive created using git-archive. This command is used to extract the commit ID from a tar archive.

git get-tar-commit-id <archive>

ls-files

Show information about files in the index and the working tree. This command is used to display information about files in the index and working directory.

git ls-files

ls-remote

List references in a remote repository. This command is used to display references in a remote repository.

git ls-remote <remote>

ls-tree

List the contents of a tree object. This command is used to display the contents of a tree object.

git ls-tree <tree>

merge-base

Find as good common ancestors as possible for a merge. This command is used to find common ancestors for a merge.

git merge-base <commit1> <commit2>

name-rev

Find symbolic names for given revs. This command is used to find symbolic names for revisions.

git name-rev <commit>

pack-redundant

Find redundant pack files. This command is used to find redundant pack files in the repository.

git pack-redundant <pack-files>

rev-list

Lists commit objects in reverse chronological order. This command is used to list commit objects in reverse chronological order.

git rev-list <commit-range>

rev-parse

Pick out and massage parameters. This command is used to parse revision parameters.

git rev-parse <revision>

show-index

Show packed archive index. This command is used to display the index of a pack file.

git show-index <pack-file>

show-ref

List references in a local repository. This command is used to display references in a local repository.

git show-ref

unpack-file

Creates a temporary file with a blob's contents. This command is used to create a temporary file with the contents of a blob object.

git unpack-file <blob>

var

Show a Git logical variable. This command is used to display the value of a Git logical variable.

git var <variable>

verify-pack

Validate packed Git archive files. This command is used to verify the integrity of pack files.

git verify-pack <pack-file>

Low-level Commands / Syncing Repositories

These commands are used to synchronize repositories:

daemon

A really simple server for Git repositories. This command is used to start a simple server for Git repositories.

git daemon --reuseaddr --base-path=/path/to/repo /path/to/repo

fetch-pack

Receive missing objects from another repository. This command is used to fetch missing objects from another repository.

git fetch-pack <repository>

http-backend

Server side implementation of Git over HTTP. This command is used to provide a server-side implementation of Git over HTTP.

git http-backend

send-pack

Push objects over Git protocol to another repository. This command is used to push objects to another repository.

git send-pack <repository>

update-server-info

Update auxiliary info file to help dumb servers. This command is used to update auxiliary information files for dumb servers.

git update-server-info

Low-level Commands / Internal Helpers

These commands are used internally by Git and are not typically used directly by users:

check-attr

Display gitattributes information. This command is used to display information about gitattributes.

git check-attr <attribute> -- <file>

check-ignore

Debug gitignore / exclude files. This command is used to debug gitignore and exclude files.

git check-ignore -v <file>

check-mailmap

Show canonical names and email addresses of contacts. This command is used to display canonical names and email addresses from the mailmap.

git check-mailmap <contact>

check-ref-format

Ensures that a reference name is well formed. This command is used to check if a reference name is well-formed.

git check-ref-format <refname>

column

Display data in columns. This command is used to format output into columns.

git column <options>

credential

Retrieve and store user credentials. This command is used to manage user credentials.

git credential fill
git credential approve
git credential reject

credential-cache

Helper to temporarily store passwords in memory. This command is used to cache credentials in memory.

git credential-cache <options>

credential-store

Helper to store credentials on disk. This command is used to store credentials on disk.

git credential-store <options>

fmt-merge-msg

Produce a merge commit message. This command is used to format a merge commit message.

git fmt-merge-msg <options>

interpret-trailers

Add or parse structured information in commit messages. This command is used to add or parse trailers in commit messages.

git interpret-trailers <options>

mailinfo

Extracts patch and authorship from a single e-mail message. This command is used to extract patch information from an email message.

git mailinfo <options>

mailsplit

Simple UNIX mbox splitter program. This command is used to split an mbox file into individual messages.

git mailsplit <options>

merge-one-file

The standard helper program to use with git-merge-index. This command is used as a helper for git-merge-index.

git merge-one-file <options>

patch-id

Compute unique ID for a patch. This command is used to compute a unique ID for a patch.

git patch-id <options>

sh-i18n

Git's i18n setup code for shell scripts. This command is used for internationalization setup in shell scripts.

git sh-i18n <options>

sh-setup

Common Git shell script setup code. This command is used for common setup in Git shell scripts.

git sh-setup <options>

stripspace

Remove unnecessary whitespace. This command is used to remove unnecessary whitespace from input.

git stripspace <options>

External commands

These are external commands that can be used with Git:

askyesno

Prompt the user for a yes/no answer. This command is used to prompt the user for a yes/no answer.

git askyesno <prompt>

credential-helper-selector

Select a credential helper. This command is used to select a credential helper for Git.

git credential-helper-selector

flow

Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

git flow <subcommand>

lfs

Git extension for versioning large files. This command is used to manage large files with Git.

git lfs <subcommand>

 

 

Check out some other Bands on Bandcamp.com. Crazy Fingers (Vancouver 1991), Flying Butt Pliers, and Hammy Ham Hands.

Proudly powered by a Text Editor, an Sftp client and some Internet Searches.

2024 dispelled.ca end of file.